Computer-aided design (CAD) is a fairly recent advancement in the drafting and design process. While CAD shortened the production time for drafting, it still necessitated complex and laborious procedures to perform parametric design. The techniques were awkward to learn, difficult to use and lacking in power. The only comprehensive approach made use of programming language to write a special purpose program which could both design and draw. Establishing such a design was time consuming and awkward. Other approaches lacked power and could not truly perform parametric design. As a result, an informed operator was required to guide their process during a design's execution. Executing such a design was awkward and prone to error.
Furthermore, CAD did not have the capability of combining data representing different parts or modules of an overall design. This is a significant drawback as all assemblies, and even many parts, can most expeditiously be designed by treating them as integrated aggregations of modular features, parts, and/or sub-assemblies.
Representative of the heretofore proposed CAD systems is the one disclosed in U.S. Pat. No. 4,549,275 issued Oct. 22, 1985, to Sukonic for GRAPHICS DATA HANDLING SYSTEMS FOR CAD WORKSTATION.
A competing system which utilizes computer aid in design creation is disclosed in U.S. Pat. No. 4,451,895 issued Jun. 9, 1983, to Sleikowski for INTER-ACTIVE COMPUTER AIDED DESIGN. This system is of even less interest than CAD systems such as those disclosed in the above-identified Sukonic patent, in part because it is not capable of generating parametric designs.
Another computer-aided design technique that has heretofore been employed involves the parametric enhancement of drawing editing, a technique which makes use of drawing processors. Certain drawing processors such as the AUTOCAD.sup..RTM. and the Hewlett-Packard, Euchlid, and Medusa processors, have extremely powerful editing capabilities which include elements of parametric design. However, these all share the limitation that the user is dealing with one detail, or at most, one drawing, at a time.
There are two approaches to the above mentioned-parametric enhancement of drawing editing.
The first is the built-in language approach. To create a unique image, the user must write program code which describes the geometry of the drawing in terms of its coordinates such as the two end points of a line. The built-in language approach has the additional disadvantages that the user can create only one drawing as a result of running a design.
This is undesirable because most designs are depicted in a series of related drawings. For example describing a particular part might entail depicting it in several views: It might be depicted individually (in order to provide details describing the part itself); then again in an assembly drawing (in order to show its physical relationship to surrounding parts); and finally, in a concept drawing (in order to show its function).
The second approach makes use of drawing rectification. Rectification is an editing capability. To rectify a drawing is to make it correct according to its dimension; i.e. the drawing is modified and brought into conformity with its dimensions. Using this enhancement to drawing editing as a basis for parametric design, the user employs equations in the dimensions of the drawing in place of fixed values. The equations, which may involve trigonometric formulas, relate the geometry of different parts of the drawing to one another.
The user can automatically edit the drawing by entering the drawing processor and providing values corresponding to the independent variables in these equations. The user can even use a computer program from outside the drawing processor to calculate these values.
The drawing rectification approach contains the following problems:
1. The design process is not controlled by the computer. This means the user must be educated as to his or her role in producing a-particular design. Since the user has to control the process, the chance of a procedural error being introduced is greatly increased. PA1 2. The user, rather than the program, must decide which drawing to rectify in order to depict the design. Choosing the appropriate parameterized picture, the single most important decision in the process, is left up to the user. An informed user is required as he or she must be aware of the current inventory of parameterized drawings. The process of choosing the appropriate design is awkward and relatively slow. PA1 3. This approach limits the depiction of the design to a single drawing. Most designs cannot be depicted with a single drawing. PA1 4. Since the user is editing an image on the drawing processor, there is a great probability that he will inadvertently change an aspect of the original drawing, introducing an error into the image being edited. PA1 1. A spreadsheet such as SYMPHONY.sup..RTM. lacks decision-making capabilities fundamental to designing. For example, SYMPHONY.sup..RTM. does not provide a function that chooses which of several designs to execute, depending upon the outcome of a single test. To work around the limitation would be impractical in many cases. PA1 2. Even where it is capable of calculating design values, the spreadsheet proves prohibitively awkward for doing so. Extensive use of macros would be required. For example something as fundamental to the design process as prompting the user for information requires a difficult to-program macro. PA1 3. The parametric design process requires at certain relationships be pre-established between its elements. Whereas spreadsheet "templates" allow for this, there are severe limitations viz., (a) relationships are not dynamically reconfigurable (the user cannot reconfigure units conversion from feet-inches-sixteenths to decimal units while engaged in editing); (b) relationships are awkward to use, sometimes requiring a group of cells as is the case with unit conversion; (c) default relationships cannot be easily overridden. This is a severe drawback for parametric design where certain numeric values must be automatically converted into their textual equivalent and where the user may wish to switch back and forth between different units of measurement (for example feet-inches-sixteenths, decimal feet, etc.). As a result, in many cases the user would be better off to provide individual formulas, establishing relationships one-at-a-time as required rather than configuring default relationships. PA1 4. The spreadsheet format would be extremely confusing to use in establishing a parametric design. A large number of cells would be required for bookkeeping: i.e., for either holding macro code or for holding temporary variables. Thus, most of the large number of cells that would necessarily have to be employed would be superfluous to the actual design process. PA1 5. When a parametric design program is run, even an experienced operator requires full screens of procedural information to instruct him as well as prompts of adequate length. With a spreadsheet, he sees a matrix of cell values (irrelevant during execution) and a single-line prompt placed somewhere on the screen. For an operator who is endeavoring to run an off-the-shelf parametric design on a factory floor, for example, the spreadsheet is therefore inappropriate, as well as prohibitively confusing. PA1 6. Because the operator is s 111 inside the editor during the execution of a spreadsheet, he can change formulas, either accidentally or to "improve" the design. Such inadvertent design alterations and tampering are unacceptable for industries that require parametric designs because the probable cost of one bad design is measured in thousands of dollars. PA1 7. The spreadsheet lacks the capability of establishing design modules which can either stand alone or interact with one another as is the case in the novel parametric design systems disclosed herein. (In the latter case all are resident in memory at the same time, passing information and control between themselves.) This means that any design encoded in a spreadsheet has all of the herein discussed disadvantages inherent in a non-modular design. PA1 1. A module can perform engineering calculations and gather information according to its encoded algorithm; PA1 2. A module can create an electronically stored image (or set of images) which depict what it designs, or add information to a composite image which is contributed to by many modules; a non-modular parametric design has thesis capabilities; PA1 3. The parametric design, rather than the user, controls the design process. The user is relegated to the role which is determined by the design. His involvement, if any, once the design is initiated is limited to responses to prompts for design information. This role is clearly defined for him by screens of information. The user does not have to deal with an image in the process; PA1 4. A module can operate alone or in conjunction with other modules. It can be a stand-alone designer; it can be supervised by other modules; or it can itself supervise other modules, subordinate to itself. PA1 1. It can perform engineering calculations and gather information according to its encoded algorithm; PA1 2. It can create an electronically stored image or set of images which depict what it designs, or it can automatically add information to a composite image which is contributed to by other designs; PA1 3. The parametric design, rather than the user, controls the design process. The user is relegated to the role which is determined by the design. His involvement, if any, once the design is initiated is limited to responses to prompts for design information. This role is clearly defined for him by screens of information. The user does not have to deal with an image in the process. PA1 which allow parametric designs to be generated much more rapidly and economically and with fewer resources than they can be by employing currently available CAD techniques; PA1 which are user friendly in that they do not involve the use of a computer programming language or the modification of an on-screen (or displayed) image; PA1 which are less subject to error than heretofore available computer related design technologies in that the design process is controlled and executed by the computer, minimizing the possibility of procedural errors being made by the user; PA1 which, in conjunction with the preceding object, are also user friendly in that the user need not possess either programming or technical designing knowledge; PA1 which has the capability, once a master design plan having a design algorithm encoded therein has been selected, of automatically loading and executing other design plans to thereby produce information relevant to the generation of the wanted design; PA1 which are capable of generating accurate, customized drawings, which may be to scale and dimensioned, in a matter of minutes; PA1 which are capable of integrating user supplied data and data from one or more electronically stored design modules in creating a parametric design; PA1 which, in conjunction with the preceding object, have the capability of performing any mathematical calculations that may be necessary to convert the user supplied data to data which is compatible with that available from the electronically stored design modules; PA1 which are less prone to the introduction of procedural errors than heretofore available computer related design techniques in that the design process is computer, rather than user, controlled; PA1 which are superior in that the user is not required to select the drawing that is to be modified to produce the final design; PA1 which can be used to create drawings that are either stylized (not to scale) or drawn to scale; PA1 which are capable of creating, interpreting, and relating design modules; PA1 which are capable of both designing and directing the production of a manufactured part or stored image; PA1 which are capable of: automatically choosing the appropriate image and modifying it to represent the design, choosing a scale factor and applying it to the drawing so it fits on a page, and of combining several images into a single drawing. PA1 which can be edited for a design algorithm to be called up during the parametric design process; PA1 which can be set up in a manner akin to that used to provide instructions to a draftsman; PA1 which provide on-screen information and prompts at run time.